34 #ifndef DISPLAY_COG_PROCESS__H_INCLUDED
35 #define DISPLAY_COG_PROCESS__H_INCLUDED
40 #define BLACK0 (uint8_t)(0x03)
41 #define BLACK1 (uint8_t)(0x0C)
42 #define BLACK2 (uint8_t)(0x30)
43 #define BLACK3 (uint8_t)(0xC0)
44 #define WHITE0 (uint8_t)(0x02)
45 #define WHITE1 (uint8_t)(0x08)
46 #define WHITE2 (uint8_t)(0x20)
47 #define WHITE3 (uint8_t)(0x80)
48 #define NOTHING0 (uint8_t)(0x01)
49 #define NOTHING1 (uint8_t)(0x04)
50 #define NOTHING2 (uint8_t)(0x10)
51 #define NOTHING3 (uint8_t)(0x40)
52 #define NOTHING (uint8_t)(0x55)
55 #define ALL_BLACK (uint8_t)(0xFF)
56 #define ALL_WHITE (uint8_t)(0xAA)
57 #define BORDER_BYTE_B (uint8_t)(0xFF)
58 #define BORDER_BYTE_W (uint8_t)(0xAA)
59 #define ERROR_BUSY (uint8_t)(0xF0)
60 #define ERROR_COG_ID (uint8_t)(0xF1)
61 #define ERROR_BREAKAGE (uint8_t)(0xF2)
62 #define ERROR_DC (uint8_t)(0xF3)
63 #define ERROR_CHARGEPUMP (uint8_t)(0xF4)
64 #define RES_OK (uint8_t)(0x00)
69 #define LINE_BUFFER_DATA_SIZE 111
73 #define COUNT_OF_EPD_TYPE 3
84 #if (defined COG_V110)
91 struct COG_144_line_data_t {
104 struct COG_200_line_data_t {
117 struct COG_270_line_data_t {
124 #elif (defined COG_V110_G2)
132 struct COG_144_line_data_t {
145 struct COG_200_line_data_t {
158 struct COG_270_line_data_t {
165 #elif (defined COG_V230)
172 struct COG_144_line_data_t {
185 struct COG_200_line_data_t {
198 struct COG_270_line_data_t {
205 enum Temperature_Range
223 struct Stage_Parameters_t
227 uint16_t Stage1_Cycle;
232 uint16_t Stage2_Cycle;
238 uint16_t Stage3_Cycle;
241 #error "ERROR: The EPD's COG type is not defined."
248 struct COG_144_line_data_t line_data_for_144;
249 struct COG_200_line_data_t line_data_for_200;
250 struct COG_270_line_data_t line_data_for_270;
268 extern const uint8_t SCAN_TABLE[4];
273 uint8_t *new_image_ptr);
279 #endif //DISPLAY_COG_PROCESS__H_INCLUDED